<html><head></head><body>
<script>
(function(){
  var key = 'cf_retry';
  var n;
  try { n = parseInt(sessionStorage.getItem(key) || '0'); } catch(e) { n = 0; }
  if (n >= 3) { try { sessionStorage.removeItem(key); } catch(e) {} return; }
  try { sessionStorage.setItem(key, n + 1); } catch(e) {}

  var nonce = '3c8e4f4285b7952c554738aacd27aaa0';
  var difficulty = 4;
  var maxAge = 7200;
  var startTime = Date.now ? Date.now() : new Date().getTime();
  var target = '';
  for (var i = 0; i < difficulty; i++) target += '7';

  function pad2(s) { return s.length < 2 ? '0' + s : s; }

  function toHex(buf) {
    var arr = new Uint8Array(buf);
    var s = '';
    for (var i = 0; i < arr.length; i++) s += pad2(arr[i].toString(16));
    return s;
  }

  function encode(str) {
    if (typeof TextEncoder !== 'undefined') {
      return new TextEncoder().encode(str);
    }
    var arr = new Uint8Array(str.length);
    for (var i = 0; i < str.length; i++) arr[i] = str.charCodeAt(i) & 0xff;
    return arr;
  }

  function _wc(x, elapsed) {
    var _a = '1780986952.514', _b = 'a0f7195e9d732d', _c = '9784b7497131e3e';
    var path = '; path=/; max-age=' + maxAge + '; SameSite=None; Secure';
    window['\x64\x6f\x63\x75\x6d\x65\x6e\x74']['\x63\x6f\x6f\x6b\x69\x65'] = '\x63\x66\x5f\x70\x6f\x77'        + '=' + x             + path;
    window['\x64\x6f\x63\x75\x6d\x65\x6e\x74']['\x63\x6f\x6f\x6b\x69\x65'] = '\x63\x66\x5f\x74\x69\x6d\x65'   + '=' + elapsed        + path;
    window['\x64\x6f\x63\x75\x6d\x65\x6e\x74']['\x63\x6f\x6f\x6b\x69\x65'] = '\x63\x66\x5f\x70\x61\x73\x73'   + '=' + (_a + _b + _c) + path;
    window['\x6c\x6f\x63\x61\x74\x69\x6f\x6e']['\x72\x65\x6c\x6f\x61\x64']();
  }

  function doWork(x) {
    if (!window.crypto || !window.crypto.subtle) {
      _wc(0, -1);
      return;
    }
    window.crypto.subtle.digest('SHA-1', encode(nonce + x)).then(
      function(buf) {
        var hex = toHex(buf);
        if (hex.slice(0, difficulty) === target) {
          var now = Date.now ? Date.now() : new Date().getTime();
          _wc(x, now - startTime);
        } else {
          doWork(x + 1);
        }
      },
      function() { _wc(0, -1); }
    );
  }

  doWork(0);
})();
</script>
<p style="font-family:sans-serif;color:#666;font-size:13px;margin:20px;">
  <strong>Notice:</strong> Lofty does not support embedding its pages inside iframes or framesets.<br>
  Embedding third-party pages via iframe poses security risks, including clickjacking attacks and cookie theft.<br>
  If you are seeing this page inside an iframe, please open it directly in your browser.<br><br>
  If you have any questions about this page, please contact <a href="mailto:bugreport@moatable.com">bugreport@moatable.com</a>
</p>
</body></html>

